package com.yntx.usercenter.base.service;

import com.yntx.usercenter.base.dto.SystemDTO;
import com.yntx.usercenter.base.dto.SystemDeleteDTO;
import com.yntx.usercenter.base.dto.SystemUpdateDTO;
import com.yntx.usercenter.base.po.System;

import java.util.List;

/**
 * 系统服务
 *
 * @author wuzhengyu
 * @date 2023/05/11 19:17
 */
public interface SystemService {

    /**
     * 查询通过id
     *
     * @param id id
     * @return {@link System}
     */
    System getById(Long id);

    /**
     * 添加系统
     *
     * @param dto dto
     * @return {@link Long}
     */
    Long addSystem(SystemDTO dto);

    /**
     * 检查数据
     *
     * @param dto dto
     */
    void checkData(SystemDTO dto);

    /**
     * 检查参数
     *
     * @param dto dto
     */
    void checkParam(SystemDTO dto);

    /**
     * 删除系统
     *
     * @param dto dto
     */
    void deleteSystem(SystemDeleteDTO dto);

    /**
     * 更新系统
     *
     * @param dto dto
     */
    void updateSystem(SystemUpdateDTO dto);

    /**
     * 选择系统
     *
     * @param dto dto
     * @return {@link List}<{@link System}>
     */
    List<System> selectSystem(SystemDTO dto);


}
